package com.yangrd.airship.generator.page;

import com.yangrd.airship.generator.page.base.AbstractMetaInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * @author yangrd
 * @date 2021/11/8
 */
@EqualsAndHashCode(callSuper = false)
@Data
@AllArgsConstructor(staticName = "of")
@NoArgsConstructor
public class PageColumn extends AbstractMetaInfo<PageColumn> {

    private String name;

    private Class<?> type;

    private Boolean show;

    private String title;

    private FetchType fetchType;

    public enum FetchType {

        /**
         * 自己
         */
        SELF,

        /**
         * 枚舉
         */
        ENUM,

        /**
         * 类
         */
        CLASS_ENTITY,

        /**
         *
         */
        FETCH_URL
    }
}
